Merged
Conversation
* RDKEMW-10467: Fix Invalid time values caused by drift use CLOCK_MONOTONIC Reason for Change: Changing CLOCK_REALTIME to CLOCK_MONOTONIC to avoid clock drifts impact in the calculations Test Procedure: When Telemetry report generation is in progress change the time. The processing time should have a valid value Risks: Low Priority: P1 * Coverity Fix * Fix Formatting and Coverity * Fix formatting and coverity --------- Co-authored-by: Shibu Kakkoth Vayalambron <shibu.kakkoth@gmail.com> Co-authored-by: Priya_Dharshini <priyakathiravan05@gmail.com>
* Agentic tools for development and maintenance efficiency Includes reusable instructions, agents and skills based on scenario * Correct obsolete documentation related to test containers Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: shibu-kv <89052442+shibu-kv@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rm calls (#287) * RDKB-63722:Analyze and fix/mitigate memory leaks from curl_easy_perform calls Reason for change: Three compounding sources of unbounded internal state in OpenSSL / libcurl that code failed to constrain: 1] Unbounded connection cache per handle — CURLOPT_MAXCONNECTS was never set. libcurl defaults to 5 cached connection objects per handle. Each cached entry retains a live SSL object (TLS state, session ticket, handshake records). On devices with 180-day uptime where the server resets connections every 30s + each connection having probability of hitting different load balancers, this cache churns and accumulates stale SSL objects over time. 2] SSL session ticket accumulation — CURLOPT_SSL_SESSIONID_CACHE was never disabled. libcurl maintains a session-ticket cache inside each handle's SSL_CTX. Stale tickets from rotated or expired server certs or load balancers remain cached until OpenSSL's 300s session timeout. Across days of uptime with endpoint or cert changes, this accumulates visibly in VmRSS. 3] OpenSSL per-thread error queue not drained— OpenSSL uses a per-thread ERR_STATE list. Every TLS operation that encounters an error (connection reset, cert verify failure, network timeout) pushes records onto this list. The libcurl code never called ERR_clear_error() explicitly, so on any error path the queue has chances to grow indefinitely 4] set CURLOPT_DNS_CACHE_TIMEOUT=30 to bound DNS cache lifetime to the server reset interval, preventing stale IP->hostname mappings from accumulating as load balancer IPs rotate. Test Procedure: please refer the ticket comments Risks: Medium * Addressed the L1 Testcases Compilation Error with respect to multicurlinterface.c * Added the OPENSSL_thread_stop() at the end of worker thread * Reduce Memory Fragmentation to limit the send/receive buffer to 8KB
Contributor
Coverity Issue - Data race conditionAccessing "profile->grepSeekProfile->execCounter" without holding lock "plMutex". Elsewhere, "_GrepSeekProfile.execCounter" is written to with "plMutex" held 2 out of 2 times. Medium Impact, CWE-366 Issue locationThis issue was discovered outside the diff for this Pull Request. You can find it at: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.